// BilibiliQRCodePoller.h
#ifndef BILIBILIQUALCODEPOLLER_H
#define BILIBILIQUALCODEPOLLER_H

#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QString>
#include <QJsonObject>

class BilibiliQRCodePoller : public QObject
{
    Q_OBJECT

public:
    explicit BilibiliQRCodePoller(QObject *parent = nullptr);

    // 发送请求方法
    Q_INVOKABLE void sendRequest(const QString &qrcodeKey);

private slots:
    void onReplyFinished(QNetworkReply *reply);

private:
    QNetworkAccessManager *m_networkManager;

    // 数据处理方法 - 将响应数据转换为JSON
    QJsonObject processResponseData(const QByteArray &responseData);
    // URL参数解析方法 - 分离URL中的登录参数
    void parseLoginUrl(const QString &url);
};
#endif // BILIBILIQUALCODEPOLLER_H
